//progress.cc
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#define BUFF_SIZE 102 //102是为了使最后的>能够存储，不至于越界
#define STYLE '='
#define ARR '>'
void Run()
{
    // 1.先定义一个缓冲区来存储进度条
    char buff[BUFF_SIZE]; // 需要101一个的原因是最后要添加\0
    // 清空，保证全为0，后续就不需要在进行修改
    memset(buff, 0, sizeof(buff));

    //2.设置动态的标志，保证进度条在运行
    char lable[5]="/|-\\";

    // 3.显示进度条
    int i = 0;
    while (i <= 100)
    {
        //-100为了保证左对齐，同时剩余位置添加空格,/r是使光标回到开头，覆盖掉上一次的进度条
        printf("[%-100s][%d%%][%c]\r", buff, i,lable[i%4]);
        fflush(stdout);//刷新一下缓冲区，不然会无法正常显示出来
        usleep(100000);//0.1秒，每0.1秒显示一下进度条，每次进度条都会变化
        buff[i++]=STYLE;
        //if(i>100)也可以这样写，就可以不用把BUFF_SIZE设为102，101即可
        if(i!=100)
        buff[i]=ARR;//把最后一个显示为>，更加形象
    }
    printf("\n");

}